import Vue from 'vue'

import 'normalize.css/normalize.css' // A modern alternative to CSS resets

import ELEMENT from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import locale from 'element-ui/lib/locale/lang/zh-CN' // lang i18n
import '@/styles/index.scss' // global css
import App from './App'
import store from './store'
import router from './router'

import '@/icons' // icon
import '@/permission' // permission control
/*
  注册全局组件使用vue.use方法
  Vue.use()执行对象里install方法,在方法内使用Vue.component注册了全局组件
  // 问题: 为何用use里包裹component方法,而不是在外面写 vue.component ？
  // 原因: 可以直接引入后,调用内置准备好的方法 + 全部注册的代码
  (人话:vue.component一次只能注册一个,vue.use一次能注册多个?? )

  导出的方式
  export 变量声明 -> import { 名一致 }

  export default 导出
  import 变量名
*/
import pageTools from '@/components/PageTools/index.js'
Vue.use(pageTools)

Vue.use(ELEMENT, { locale })
import messageTip from '@/utils/message.js'
Vue.prototype.$message = messageTip
// 如果想要中文版 element-ui，按如下方式声明
// Vue.use(ElementUI)
import powerObj from '@/directive/power'
Vue.directive('power',powerObj)

Vue.config.productionTip = false

new Vue({
  el: '#app',
  router,
  store,
  render: h => {
    return h(App)
  }
})
